package com.mall.product.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.mall.api.dto.OrderDetailDTO;
import com.mall.product.entity.dto.ProductQueryDTO;
import com.mall.product.entity.po.Product;
import com.mall.product.entity.vo.ProductDetailVO;

import java.util.List;

public interface ProductService extends IService<Product> {

    /**
     * 分页查询商品列表
     */
    IPage<Product> getProductPage(ProductQueryDTO queryDTO);

    /**
     * 获取商品详情
     */
    ProductDetailVO getProductDetail(Long productId);

    /**
     * 上下架商品
     */
    boolean changeProductStatus(Long productId, Integer status);
    /**
     * 批量扣减库存
     */
    void deductStock(List<OrderDetailDTO> items);

    List<ProductDetailVO> getProductDetailBatch(List<Long> ids);
}